home *** CD-ROM | disk | FTP | other *** search
- OverlayController = {init:function()
- {
- this.activeOverlays = new Array();
- this.overlayHolderCreated = false;
- this.currentPanelType;
- this.overlayHolder = null;
- this.headers = new Array();
- this.buttonShowIntID = null;
- this.nextSection = null;
- this.nextPage = null;
- this.isMultiFileAdvert = false;
- this.numAds = null;
- this.currentAdFile = null;
- this.ignoreMultiAdFlag = false;
- this.oldObj = null;
- this.Overlay = function(objOverlayProps)
- {
- for(var i in objOverlayProps)
- {
- this[i] = objOverlayProps[i];
- }
- TardisInterface.showInterface(Number(this.disableLevel),false);
- if(this.strType == "video")
- {
- lingo("videoOverlay.loadVideo(\"" + this.filename + "\",\"" + this.ownerMc + "\",\"" + this.x + "\",\"" + this.y + "\",\"" + this.w + "\",\"" + this.h + "\",\"" + this.showProgressBar + "\",\"" + this.isFullscreen + "\",\"" + this.closeBut + "\")");
- }
- else
- {
- if(OverlayController.overlayHolder == null)
- {
- OverlayController.overlayHolder = OverlayController.createOverlayHolder();
- }
- var filenameWithoutDots = Tardis.findAndReplace(this.filename,"/","_");
- OverlayController.overlayHolder.createEmptyMovieClip(filenameWithoutDots.substring(0,filenameWithoutDots.length - 4) + "_mc",OverlayController.overlayHolder.depth++);
- this.clipname = OverlayController.overlayHolder[filenameWithoutDots.substring(0,filenameWithoutDots.length - 4) + "_mc"];
- this.clipname._x = 15;
- this.clipname._y = 112;
- this.clipname.loadMovie(Tardis.ASSETS_FOLDER + this.filename);
- }
- OverlayController.showButtons(objOverlayProps);
- };
- this.Overlay.prototype.kill = function(killAdSequence, killOnly)
- {
- var i = 0;
- var l = OverlayController.activeOverlays.length;
- while(i < l)
- {
- if(OverlayController.activeOverlays[i] == this)
- {
- OverlayController.activeOverlays.splice(i,1);
- var nextHeader = OverlayController.headers[i - 1];
- if(OverlayController.headers[i] !== "help")
- {
- if(nextHeader == "help")
- {
- TardisInterface.setHeader("help");
- }
- else
- {
- TardisInterface.setHeader(ActiveSection.id);
- }
- }
- else
- {
- if(ActiveSection.id == "feature")
- {
- TardisInterface.setHeader();
- }
- else
- {
- TardisInterface.setHeader(ActiveSection.id);
- }
- Tardis.footer.mc_help.gotoAndStop("off");
- }
- OverlayController.headers.splice(i,1);
- break;
- }
- i++;
- }
- OverlayController.numberOfActiveOverlays--;
- if(this.strType == "video")
- {
- lingo("videoOverlay.unloadVideo(true)");
- }
- else
- {
- this.clipname.removeMovieClip();
- }
- Tardis.closeButton_mc.hideCloseButtons();
- var curAd = Tardis.OverlayController.currentAdFile;
- var totalAds = Tardis.OverlayController.numAds;
- var ignore = Tardis.OverlayController.ignoreMultiAdFlag;
- if(Tardis.OverlayController.isMultiFileAdvert && curAd < totalAds && killAdSequence != true && ignore == false)
- {
- trace("***** multi-page ad open");
- if(Tardis.OverlayController.activeOverlays[Tardis.OverlayController.activeOverlays.length - 1].interrupted == true)
- {
- trace("POO POO POO It was interrupted...");
- var obj = Tardis.OverlayController.activeOverlays[Tardis.OverlayController.activeOverlays.length - 1];
- obj.ownerMc._visible = true;
- lingo("videoOverlay.toggleActive(1)");
- trace("-- show buttons ---");
- Tardis.OverlayController.showButtons(obj);
- trace("-- can ya see em? ---");
- }
- else
- {
- trace("add the next multipart advert");
- Tardis.OverlayController.addAdvertOverlay(this,false);
- }
- }
- else
- {
- OverlayController.isMultiFileAdvert = false;
- if(OverlayController.numberOfActiveOverlays)
- {
- var theOverlay = OverlayController.activeOverlays[OverlayController.numberOfActiveOverlays - 1];
- if(theOverlay.strType == "video")
- {
- if(theOverlay.isFullscreen == true)
- {
- Tardis.closeButton_mc.showCloseButton(theOverlay);
- }
- else
- {
- TardisInterface.showInterface(2,true);
- }
- if(theOverlay.ownerMc.indexOf("mVideo") != -1)
- {
- theOverlay.ownerMc._parent._visible = true;
- }
- theOverlay.ownerMc._visible = true;
- lingo("videoOverlay.toggleActive(1)");
- }
- else
- {
- TardisInterface.showInterface(theOverlay.disableLevel,false);
- }
- if(theOverlay.strType == "semiOverlay")
- {
- TardisInterface.showInterface(theOverlay.disableLevel,true);
- }
- OverlayController.resumeOverlay(theOverlay);
- OverlayController.showButtons(theOverlay);
- }
- else if(Tardis.OverlayController.oldObj != null)
- {
- trace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
- trace("------------ reopen the overlay that was open before....");
- trace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
- trace("Tardis.OverlayController.oldObj: " + Tardis.OverlayController.oldObj);
- trace("typeof(Tardis.OverlayController.oldObj): " + typeof Tardis.OverlayController.oldObj);
- for(var n in Tardis.OverlayController.oldObj)
- {
- trace("------- " + n + ": " + Tardis.OverlayController.oldObj[n]);
- }
- Tardis.TardisInterface.enable(this.closeBut,"default");
- Tardis.OverlayController.addOverlay(Tardis.OverlayController.oldObj);
- Tardis.OverlayController.oldObj = null;
- trace("delete the oldObj...");
- trace("++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
- }
- else
- {
- trace("------------ apparently there was no video overlay open before....");
- if(Tardis.ActiveSection.id == "feature")
- {
- Tardis.splashRestart();
- }
- else if(Tardis.ActiveSection == null && !mc_credits)
- {
- Tardis.splash.fadeSoundLoop();
- }
- if(Tardis.OverlayController.nextSection == null)
- {
- Tardis.TardisInterface.enable(this.closeBut,"default");
- }
- else
- {
- Tardis.TardisInterface.enableAndJumpToSection(Tardis.OverlayController.nextSection,Tardis.OverlayController.nextPage);
- }
- }
- if(!theOverlay || theOverlay.isFullscreen == false)
- {
- trace("* There are no more overlays to show - enable the interface again");
- TardisInterface.showInterface(2,true);
- if(Tardis.blnInExit == true)
- {
- trace("start her up...");
- Tardis.mc_credits.startCountdown();
- }
- }
- else
- {
- for(var i in theOverlay)
- {
- trace(i + " : " + theOverlay[i]);
- }
- }
- }
- OverlayController.deleteOverlayObject(this);
- };
- this.Overlay.prototype.flagFullscreen = function(flag)
- {
- this.isFullscreen = flag;
- };
- },addOverlay:function(obj)
- {
- trace("");
- trace("** OverlayController.addOverlay()");
- for(var i in obj)
- {
- trace("-- " + i + " : " + obj[i]);
- }
- var numOverlays = this.activeOverlays.length;
- if(numOverlays)
- {
- var i = 0;
- while(i < numOverlays)
- {
- if(this.activeOverlays[i].filename == obj.filename)
- {
- trace("!!! Can\'t open the same overlay twice !!!");
- return undefined;
- }
- i++;
- }
- }
- if(obj.trackingID != null)
- {
- trace("-- adding tracking data for " + obj.filename);
- if(obj.closeBut == "sponsor" || obj.closeBut == "advert")
- {
- trace("");
- trace("");
- trace("LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOK");
- trace("");
- trace("");
- Tardis.UsageData.addAdvertEntry(obj.trackingID,"advert");
- }
- else
- {
- trace("");
- trace("");
- trace("ADDDDDDDDDDDDDDDDDDING PAGE");
- trace("");
- trace("");
- Tardis.UsageData.addPageEntry(obj.trackingID);
- }
- }
- if(Tardis.splash.mcSnd.active == true)
- {
- Tardis.splash.endSoundLoop();
- }
- if(Tardis.ActiveSection.index == 0)
- {
- lingo("Flsh_deleteBespokeSprites()");
- }
- this.clearSkipOrEnterIntID();
- if(numOverlays)
- {
- var i = 0;
- while(i < numOverlays)
- {
- if(this.activeOverlays[i].strType !== "video")
- {
- this.pauseOverlay(this.activeOverlays[i]);
- }
- else
- {
- lingo("videoOverlay.toggleActive(0)");
- trace("");
- trace("----- Video code modified here... check it for FS video fuckups");
- trace("");
- }
- i++;
- }
- }
- if(obj.header !== "help")
- {
- ActiveSection.id != null ? header.go(ActiveSection.id) : header.go("default");
- this.headers.push(ActiveSection.id);
- }
- else
- {
- header.go(obj.header);
- this.headers.push(obj.header);
- }
- var objRef = new this.Overlay(obj);
- this.activeOverlays.push(objRef);
- this.numberOfActiveOverlays = this.activeOverlays.length;
- },addAdvertOverlay:function(obj, fromAdvertButton)
- {
- if(fromAdvertButton)
- {
- this.numAds = obj.arrXmlAdList.length;
- this.currentAdFile = 1;
- if(this.numAds > 1)
- {
- this.isMultiFileAdvert = true;
- }
- else
- {
- this.isMultiFileAdvert = false;
- }
- }
- else
- {
- var obj = Tardis.adverts.createOverlayObj(obj.arrXmlAdList[this.currentAdFile],obj.arrXmlAdList);
- this.currentAdFile = this.currentAdFile + 1;
- }
- this.addOverlay(obj);
- },closeAll:function()
- {
- trace("*** Close all the dirty overlays...");
- var numOverlays = Tardis.OverlayController.activeOverlays.length;
- var i = 0;
- while(i < numOverlays)
- {
- var theOverlay = Tardis.OverlayController.activeOverlays[i];
- if(theOverlay.strType == "video")
- {
- lingo("videoOverlay.unloadVideo(true)");
- }
- else
- {
- theOverlay.clipname.removeMovieClip();
- }
- this.deleteOverlayObject(theOverlay);
- i++;
- }
- Tardis.closeButton_mc.hideCloseButtons();
- Tardis.footer.mc_help.gotoAndStop("off");
- Tardis.OverlayController.activeOverlays = [];
- Tardis.TardisInterface.showInterface(2,true);
- this.setButtonsVisible(false);
- },setPageToShow:function(pNewSection, pNewPage)
- {
- this.nextSection = pNewSection;
- this.nextPage = pNewPage;
- },getPageToShow:function()
- {
- if(this.nextSection)
- {
- var obj = new Object();
- obj.section = this.nextSection;
- obj.page = this.nextPage;
- return obj;
- }
- return false;
- },getLastOverlay:function()
- {
- return this.activeOverlays[this.activeOverlays.length - 1];
- },removeLastOverlay:function()
- {
- trace("--");
- trace("number active: " + this.numberOfActiveOverlays);
- if(this.numberOfActiveOverlays)
- {
- this.activeOverlays[this.numberOfActiveOverlays - 1].kill();
- }
- trace("number active: " + this.numberOfActiveOverlays);
- trace("--");
- },pauseOverlay:function(obj)
- {
- if(obj.strType == "swf")
- {
- obj.clipname.stop();
- stopAllSounds();
- }
- else if(obj.strType == "video")
- {
- lingo("videoOverlay.disableVideo()");
- }
- this.setButtonsVisible(false);
- obj.clipname._visible = false;
- },resumeOverlay:function(obj)
- {
- if(obj.strType == "swf")
- {
- obj.clipname.gotoAndPlay(1);
- }
- else if(obj.strType == "video")
- {
- lingo("videoOverlay.enableVideo()");
- }
- this.setButtonsVisible(true);
- obj.clipname._visible = true;
- },createOverlayHolder:function()
- {
- Tardis.createEmptyMovieClip("overlayHolder_mc",Tardis.depth++);
- Tardis.overlayHolder_mc.depth = 1;
- this.overlayHolder = Tardis.overlayHolder;
- return Tardis.overlayHolder_mc;
- },deleteOverlayObject:function(obj)
- {
- delete obj;
- },setObjProperty:function(prop, val)
- {
- this[prop] = val;
- },clearSkipOrEnterIntID:function()
- {
- clearInterval(this.buttonShowIntID);
- this.buttonShowIntID = null;
- },checkCurrentOverlayType:function()
- {
- if(this.activeOverlays[this.activeOverlays.length - 1].strType == "video")
- {
- lingo("videoOverlay.enableVideo()");
- }
- else
- {
- trace("flash needs to restart");
- var obj = this.getLastOverlay();
- if(obj.strType != "advert")
- {
- this.resumeOverlay(obj);
- }
- else
- {
- trace("can\'t pause an advert");
- }
- }
- },showButtons:function(objOverlayProps)
- {
- Tardis.skipOrEnter_mc.showButton(objOverlayProps);
- Tardis.closeButton_mc.showCloseButton(objOverlayProps);
- if(objOverlayProps.allowNeverSee == true && objOverlayProps.closeBut == null)
- {
- Tardis.dontShowAgain_mc.setCheckboxProperty(objOverlayProps.dontShowAgainPropName,"userPrefs");
- }
- else
- {
- Tardis.dontShowAgain_mc.gotoAndStop(1);
- }
- },setButtonsVisible:function(v)
- {
- Tardis.skipOrEnter_mc._visible = v;
- Tardis.dontShowAgain_mc._visible = v;
- }};
- OverlayController.init();
-